package com.fyh.service;


import com.fyh.entity.job.JobPositionRequest;
import com.fyh.entity.job.SimpleJobPosition;
import com.fyh.entity.user.Vitae;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface CandidateService {

    /**
     * 更新简历
     * @param vitae
     */
    void updateVitae(Vitae vitae);

    /**
     * 收藏职位
     * @param positionId
     * @param userId
     */
    void collectJob(Long positionId, Long userId);

    /**
     * 取消收藏职位
     * @param positionId
     * @param userId
     */
    void cancelCollectJob(Long positionId, Long userId);

    /**
     * 获取收藏职位状态
     * @param positionId
     * @param userId
     * @return
     */
    Boolean getCollectExist(Long positionId, Long userId);

    /**
     * 获取职位是否已投递
     * @param positionId
     * @param userId
     * @return
     */
    Boolean getDeliveryExist(Long positionId, Long userId);

    /**
     * 投递简历
     * @param positionId
     * @param userId
     */
    void deliveryVitae(Long positionId, Long userId);

    /**
     * 新增用户简历
     * @param vitae
     */
    void insertVitae(Vitae vitae);

    /**
     * 获取用户简历
     * @param userId
     * @return
     */
    Vitae getUserVitae(Long userId);

    /**
     * 获取用户技能标签
     * @param userId
     * @return
     */
    List<String> getTagNameListByUserId(Long userId);

    /**
     * 上传简历文件
     */
    String uploadResumeFile(MultipartFile file);

    /**
     * 获取收藏职位列表
     * @param userId
     * @return
     */
    List<SimpleJobPosition> getCollectSimpleJobList(Long userId);
}
